<?php
/**
 * Контроллер для раздела "План"
 */
class PlanController extends Controller
{
	public function init()
	{
		// Инициализация пакета ресурсов (css, js). Пакет описан в config/main.php
		Yii::app()->getClientScript()->registerCoreScript('plan');
		parent::init();
	}
	
	public function actionIndex($id_project)
	{
		// Достаем проект по id
		$project = Project::model()->findByPk($id_project);
		// Если проект не найден - оповещаем
		if($project===null)
		{
			throw new CHttpException(404, 'Проект не существует');
		}
		// Находим все задачи проекта
		$issues = Issue::model()->project($project->id)->findAll();
		// Приводим все модели задач к массиву атрибутов
		array_walk($issues, function(&$model){
			$model = $model->getAttributes();
		});
		// Находим этапы проектв
		$chunks = Chunk::model()->project($project->id)->findAll();
		// Пользователи
		$users = User::model()->developers()->findAll();
		array_walk($users, function(&$model){
			$model = $model->getAttributes();
			unset($model['password']);
		});
		// Рендеринг страницы плана
		$this->render('index',array(
			'data' => CJSON::encode(
				array(
					'users' => $users,
					'project' => $project->getAttributes(),
					'projects' => Project::model()->findAll(),
					'chunks' => $chunks,
					'issues' => $issues,
					'issueStatuses' => Issue::getStatuses(),
					'issueTypes' => Issue::getTypes(),
					'id_current_user' => Yii::app()->user->getId()
				)
			)
		));
	}
}